Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

166
Visualizações
if() + switch() + cuadro de imagen [C#]

Aquí está la cosa, tengo un formulario de Windows con un cuadro de imagen vacío y algunas etiquetas que obtienen información del sistema usando wmi, se supone que el cuadro de imagen obtiene automáticamente el logotipo del sistema operativo de una carpeta en el proyecto llamado Imágenes usando un si una declaración o un caso de cambio, pero no puedo por mi vida encontrar algo que funcione.

La idea básica es:

si OSN contiene un 7, pictureBoxOS obtiene la imagen llamada W7 de la carpeta de imágenes.

si OSN contiene un 8, pictureBoxOS obtiene la imagen llamada W8 de la carpeta de imágenes y así sucesivamente

OSN es el nombre del sistema operativo

Lo que sigue es algo de lo que está escrito en la clase SysInfo

 public static class SysInfo { public static String GetOSName() { ManagementClass mc = new ManagementClass("Win32_OperatingSystem"); ManagementObjectCollection moc = mc.GetInstances(); String OSN = String.Empty; foreach (ManagementObject mo in moc) { OSN = mo.Properties["Caption"].Value.ToString(); break; } return OSN; }

Luego viene lo que está escrito en el formulario

 public partial class FormSystemInfo : Form { public FormSystemInfo() { InitializeComponent(); LoadTheme(); } private void FormSystemInfo_Load(object sender, EventArgs e) { labelOSName.Text=SysInfo.GetOSName(); labelOSVersion.Text=SysInfo.GetOSVersion(); labelBrandModel.Text=SysInfo.GetBrandModel(); labelProcessorName.Text=SysInfo.GetProcessorName(); labelMemory.Text=SysInfo.GetPhysicalMemory(); labelDriveID.Text=SysInfo.GetDriveID(); labelGPUName.Text=SysInfo.GetGPUName(); labelSerialNumber.Text = SysInfo.GetSerialNumber(); } }
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Para cualquiera que pueda tropezar con esta publicación, encontré una manera de hacer que funcione:

 DirectoryInfo dir = new DirectoryInfo(Application.StartupPath); ManagementClass mc = new ManagementClass("Win32_OperatingSystem"); ManagementObjectCollection moc = mc.GetInstances(); String OSN = String.Empty; foreach (ManagementObject mo in moc) { OSN = mo.Properties["Caption"].Value.ToString(); break; } if (OSN.Contains("7")) { string path = dir.Parent.Parent.Parent.FullName + @"\Pictures\W7.png"; pictureBoxOS.Image = Image.FromFile(path); } else if (OSN.Contains("8")) { string path = dir.Parent.Parent.Parent.FullName + @"\Pictures\W8.png"; pictureBoxOS.Image = Image.FromFile(path); } else if (OSN.Contains("10")) { string path = dir.Parent.Parent.Parent.FullName + @"\Pictures\W10.png"; pictureBoxOS.Image = Image.FromFile(path); } else if (OSN.Contains("11")) { string path = dir.Parent.Parent.Parent.FullName + @"\Pictures\W11.png"; pictureBoxOS.Image = Image.FromFile(path); }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda